package mx.itesm.papamastodon.dienosaurs;

import android.util.Log;

import org.andengine.audio.music.Music;
import org.andengine.audio.music.MusicFactory;
import android.graphics.Color;
import org.andengine.engine.Engine;
import org.andengine.engine.camera.Camera;
import org.andengine.opengl.font.Font;
import org.andengine.opengl.font.FontFactory;
import org.andengine.opengl.texture.ITexture;
import org.andengine.opengl.texture.TextureOptions;
import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas;
import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory;
import org.andengine.opengl.texture.atlas.bitmap.BuildableBitmapTextureAtlas;
import org.andengine.opengl.texture.atlas.bitmap.source.IBitmapTextureAtlasSource;
import org.andengine.opengl.texture.atlas.buildable.builder.BlackPawnTextureAtlasBuilder;
import org.andengine.opengl.texture.atlas.buildable.builder.ITextureAtlasBuilder;
import org.andengine.opengl.texture.bitmap.AssetBitmapTexture;
import org.andengine.opengl.texture.region.ITextureRegion;
import org.andengine.opengl.texture.region.ITiledTextureRegion;
import org.andengine.opengl.texture.region.TextureRegionFactory;
import org.andengine.opengl.texture.region.TiledTextureRegion;
import org.andengine.opengl.vbo.VertexBufferObjectManager;


import java.io.IOException;

/**
 * Carga/Descarga los recurso del juego. Imágenes, Audios
 */
public class AdministradorRecursos {
    // Instancia única de la clase
    private static final AdministradorRecursos INSTANCE =
            new AdministradorRecursos();

    public Engine engine;
    public ControlJuego actividadJuego;
    public static Camera camara;
    public VertexBufferObjectManager vbom;
    public Font fuente;
    public ITexture fuentext;
    public ITexture texturaFondoNiveles;
    public ITextureRegion regionFondoNiveles;
    public ITexture texturaFondoGameOver;
    public ITexture texturaFondoGameOver2;
    public ITexture texturaFondoGameOver3;
    public ITexture texturaFondoAjustes;
    public ITexture texturaFondoJuego2;
    public ITexture texturaFondoJuego3;
    public ITexture texturaFondoInst3;
    public ITexture pausa;
    public ITextureRegion pausareg;
    public ITextureRegion regionFondoAjustes;
    public ITextureRegion regionFondoGameOver;
    public ITextureRegion regionFondoGameOver2;
    public ITextureRegion regionFondoGameOver3;
    public ITextureRegion regionSplash;
    public ITextureRegion regionFondoMenu;
    public ITextureRegion regionFondoJuego2;
    public ITextureRegion regionFondoJuego3;
    public ITextureRegion regionFondoInst3;
    public ITextureRegion tablareg;
    public ITexture paredsitex;
    public ITextureRegion paredsitareg;
    public ITexture quemaotex;
    public ITextureRegion quemaoreg;
    public ITexture quemaotex2;
    public ITextureRegion quemaoreg2;
    public ITexture picotext;
    public ITextureRegion picoreg;
    public ITexture tablamotex;
    public ITextureRegion tablamoreg;
    public ITexture sangretex;
    public ITextureRegion sangreg;
    public ITexture cajitex;
    public ITextureRegion cajitareg;
    public ITexture cajitex2;
    public ITextureRegion cajitareg2;
    public ITexture cajitex3;
    public ITextureRegion cajitareg3;
    public ITexture puente1;
    public ITextureRegion puente1reg;
    public ITexture rampa;
    public ITextureRegion rampareg;
    public ITexture rampa2;
    public ITextureRegion rampareg2;
    public ITexture rampa3;
    public ITextureRegion rampareg3;
    public ITexture pared;
    public ITextureRegion paredReg;
    public ITexture pared2;
    public ITextureRegion paredReg2;
    public ITexture puente2;
    public ITextureRegion puenteReg2;
    public ITexture puente3;
    public ITextureRegion puenteReg3;
    public ITexture tabla2;
    public ITextureRegion tablareg2;
    public ITexture tabla3;
    public ITextureRegion tablareg3;
    public ITexture tablota2;
    public ITextureRegion tablotareg2;
    public ITexture tablota3;
    public ITextureRegion tablotareg3;
    public ITexture picosh2;
    public ITextureRegion picoshreg2;
    public ITexture picosv2;
    public ITextureRegion picosvreg2;
    public ITexture picosh3;
    public ITextureRegion picoshreg3;
    public ITexture picosv3;
    public ITextureRegion picosvreg3;
    public ITexture congelaotex;
    public ITextureRegion congelaoreg;
    public ITexture picoshSangreTex2;
    public ITextureRegion picoshSangreReg2;
    public ITexture picosvSangreTex2;
    public ITextureRegion picosvSangreReg2;
    public ITexture picoshSangreTex3;
    public ITextureRegion picoshSangreReg3;
    public ITexture picosvSangreTex3;
    public ITextureRegion picosvSangreReg3;
    public ITexture logo;
    public ITextureRegion logoreg;


    // Botón jugar del menú
    public ITiledTextureRegion regionBotoncito;
    public ITiledTextureRegion regionBotoncito2;
    public ITiledTextureRegion regionBotoncito3;
    public ITiledTextureRegion regionBtnRampa;
    public ITiledTextureRegion regionBtnRampa2;
    public ITiledTextureRegion regionBtnRampa3;
    public ITiledTextureRegion regionBtnPared;
    public ITiledTextureRegion regionBtnPared2;
    public ITiledTextureRegion regionBotonPuente;
    public ITiledTextureRegion regionBotonPuente2;
    public ITiledTextureRegion regionBotonPuente3;
    public ITiledTextureRegion regionBtnJugar;
    public ITiledTextureRegion regionBtnArriba;
    public ITiledTextureRegion regionBtnAbajo;
    public ITiledTextureRegion regionBtnArriba2;
    public ITiledTextureRegion regionBtnAbajo2;
    public ITiledTextureRegion regionBtnArriba3;
    public ITiledTextureRegion regionBtnAbajo3;
    public ITiledTextureRegion regionBtnAc;
    public ITiledTextureRegion regionBtnAgain;
    public ITiledTextureRegion regionBtnAgain2;
    public ITiledTextureRegion regionBtnAgain3;
    public ITiledTextureRegion regionInstru;
    public ITiledTextureRegion regionBtnMenu;
    public ITiledTextureRegion regionBtnMenu2;
    public ITiledTextureRegion regionBtnMenu3;
    public ITiledTextureRegion regionBtncred;
    public ITiledTextureRegion regionBtnSgnt;
    public ITiledTextureRegion regionBtnSgnt2;
    public ITiledTextureRegion btnlvl1reg;
    public ITiledTextureRegion btnlvl2reg;
    public ITiledTextureRegion btnlvl3reg;
    public ITiledTextureRegion btnmusreg;
    public ITextureRegion regionFondoAcercaDe;
    public ITextureRegion regionFondoPuntaje;
    public ITextureRegion regionFondoJuego;
    public ITextureRegion regionFondoInst;
    public ITextureRegion regionFondoInst2;
    public ITexture tablatex;
    public ITexture muertex;
    public ITextureRegion muertereg;
    public ITexture tablontex;
    public ITextureRegion tablonreg;
    public ITexture metex;
    public ITextureRegion metareg;
    public ITexture metex2;
    public ITextureRegion metareg2;
    public ITexture metex3;
    public ITextureRegion metareg3;
    public ITexture muerte2;
    public ITextureRegion muerteReg2;
    public ITexture muerte3;
    public ITextureRegion muerteReg3;
    public ITexture barrita1;
    public ITextureRegion barritareg1;
    public ITexture barrita2;
    public ITextureRegion barritareg2;
    public ITexture barrita3;
    public ITextureRegion barritareg3;

    // ** TEXTURAS **
    // Escena Splash (imagen estática)
    public ITexture texturaSplash;
    // Escena Menú (imagen estática)
    public ITexture texturaFondoMenu;
    public ITexture texturaFondoInst;
    public ITexture texturaFondoInst2;
    public BuildableBitmapTextureAtlas btnAgain;
    public BuildableBitmapTextureAtlas btnAgain2;
    public BuildableBitmapTextureAtlas btnAgain3;
    public BuildableBitmapTextureAtlas btnRampa;
    public BuildableBitmapTextureAtlas btnRampa2;
    public BuildableBitmapTextureAtlas btnRampa3;
    public BuildableBitmapTextureAtlas btnPared;
    public BuildableBitmapTextureAtlas btnPared2;
    public BuildableBitmapTextureAtlas btnPuente;
    public BuildableBitmapTextureAtlas btnPuente2;
    public BuildableBitmapTextureAtlas btnPuente3;
    public BuildableBitmapTextureAtlas btnArriba;
    public BuildableBitmapTextureAtlas btnAbajo;
    public BuildableBitmapTextureAtlas btnArriba2;
    public BuildableBitmapTextureAtlas btnAbajo2;
    public BuildableBitmapTextureAtlas btnArriba3;
    public BuildableBitmapTextureAtlas btnAbajo3;
    public BuildableBitmapTextureAtlas botoncitotex;
    public BuildableBitmapTextureAtlas botoncitotex2;
    public BuildableBitmapTextureAtlas botoncitotex3;
    public BuildableBitmapTextureAtlas btaBtnJugar;
    public BuildableBitmapTextureAtlas btaBtnAc;
    public BuildableBitmapTextureAtlas btnMenu;
    public BuildableBitmapTextureAtlas btnMenu2;
    public BuildableBitmapTextureAtlas btnMenu3;
    public BuildableBitmapTextureAtlas btnInstru;
    public BuildableBitmapTextureAtlas btnCred;
    public BuildableBitmapTextureAtlas btnSgnt;
    public BuildableBitmapTextureAtlas btnSgnt2;
    public BuildableBitmapTextureAtlas btnlvl1;
    public BuildableBitmapTextureAtlas btnlvl2;
    public BuildableBitmapTextureAtlas btnlvl3;
    public BuildableBitmapTextureAtlas btnMus;


    //animaciones escena menu

    public BuildableBitmapTextureAtlas kikkitext;
    public TiledTextureRegion kikkireg;
    public BuildableBitmapTextureAtlas rexitext;
    public TiledTextureRegion rexireg;
    public BuildableBitmapTextureAtlas dipitext;
    public TiledTextureRegion dipireg;
    public BuildableBitmapTextureAtlas tricitext;
    public TiledTextureRegion tricireg;



    // Escena Acerca de
    public ITexture texturaFondoAcercaDe;
    // Escena Puntaje
    public ITexture texturaFondoPuntaje;
    // Escena Juego
    public ITexture texturaFondoJuego;
    public BuildableBitmapTextureAtlas dino1textder;
    public TiledTextureRegion dino1regder;
    public BuildableBitmapTextureAtlas dino2textder;
    public TiledTextureRegion dino2regder;
    public BuildableBitmapTextureAtlas dino3textder;
    public TiledTextureRegion dino3regder;
    public BuildableBitmapTextureAtlas dino4textder;
    public TiledTextureRegion dino4regder;

    public BuildableBitmapTextureAtlas dino12textder;
    public TiledTextureRegion dino12regder;
    public BuildableBitmapTextureAtlas dino22textder;
    public TiledTextureRegion dino22regder;
    public BuildableBitmapTextureAtlas dino32textder;
    public TiledTextureRegion dino32regder;
    public BuildableBitmapTextureAtlas dino42textder;
    public TiledTextureRegion dino42regder;

    public BuildableBitmapTextureAtlas dino13textder;
    public TiledTextureRegion dino13regder;
    public BuildableBitmapTextureAtlas dino23textder;
    public TiledTextureRegion dino23regder;
    public BuildableBitmapTextureAtlas dino33textder;
    public TiledTextureRegion dino33regder;
    public BuildableBitmapTextureAtlas dino43textder;
    public TiledTextureRegion dino43regder;

    private BitmapTextureAtlas texturaHumo;
    public ITextureRegion regionHumo;

    private BitmapTextureAtlas texturaNieve;
    public ITextureRegion regionNieve;

    private BitmapTextureAtlas texturaCeniza;
    public ITextureRegion regionCeniza;

    private BitmapTextureAtlas texturaCinder;
    public ITextureRegion regionCinder;

    public static AdministradorRecursos getInstance() {
        return INSTANCE;
    }

    public static void inicializarAdministrador(Engine engine,
                                                ControlJuego control, Camera camara, VertexBufferObjectManager vbom) {

        getInstance().engine = engine;
        getInstance().actividadJuego = control;
        getInstance().camara = camara;
        getInstance().vbom = vbom;


    }
    public static void centrarCamara(){
        camara.setCenter(ControlJuego.ANCHO_CAMARA/2,ControlJuego.ALTO_CAMARA/2);
    }
    public static void subirCamara(){
        camara.setCenter(camara.getCenterX(),camara.getCenterY()+10);
    }

    public static void bajarCamara(){
        camara.setCenter(camara.getCenterX(),camara.getCenterY()-10);
    }


    public static float camaraX(){
        return camara.getCenterX();
    }

    public static float camaraY(){
        return camara.getCenterY();
    }

    //*** Recursos de la pantalla de Splash
    public void cargarRecursosSplash() {
        try {
            // Carga la imagen de fondo de la pantalla Splash
            texturaSplash = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "nuevoLogo.jpg");
            regionSplash = TextureRegionFactory.extractFromTexture(texturaSplash);
            texturaSplash.load();
        } catch (IOException e) {
            Log.d("cargarRecursosSplash", "No se puede cargar el fondo");
        }
    }


    public void liberarRecursosSplash() {
        texturaSplash.unload();
        regionSplash = null;
    }

    public void cargarRecursosGameOver() {
        try {

            texturaFondoGameOver = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "GAMEOVER.png");
            regionFondoGameOver = TextureRegionFactory.extractFromTexture(texturaFondoGameOver);
            texturaFondoGameOver.load();
            btnAgain = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager()
                    , 600, 130);
            regionBtnAgain = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnAgain, actividadJuego.getAssets(), "jugar de nuevo.png", 2, 1);
            try {
                btnAgain.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosGameOver", "No se puede cargar la imagen del botón otra vez");
            }

            btnMenu = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager()
                    , 600, 130);
            regionBtnMenu = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnMenu, actividadJuego.getAssets(), "menu.png", 2, 1);
            try {
                btnMenu.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosGameOver", "No se puede cargar los botones.");
            }


            btnAgain.load();
            btnMenu.load();

        } catch (IOException e) {
            Log.d("cargarRecursosGameOver", "No se puede cargar el fondo");
        }

    }

    public void liberarRecursosGameOver() {
        texturaFondoGameOver.unload();
        regionFondoGameOver = null;
        btnAgain.unload();
        regionBtnAgain = null;
    }

    public void cargarRecursosGameOver2() {
        try {

            texturaFondoGameOver2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "GAMEOVER.png");
            regionFondoGameOver2 = TextureRegionFactory.extractFromTexture(texturaFondoGameOver2);
            texturaFondoGameOver2.load();
            btnAgain2 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager()
                    , 600, 130);
            regionBtnAgain2 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnAgain2, actividadJuego.getAssets(), "jugar de nuevo.png", 2, 1);
            try {
                btnAgain2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosGameOver2", "No se puede cargar la imagen del botón otra vez");
            }

            btnMenu2 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager()
                    , 600, 130);
            regionBtnMenu2 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnMenu2, actividadJuego.getAssets(), "menu.png", 2, 1);
            try {
                btnMenu2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosGameOver2", "No se puede cargar los botones.");
            }


            btnAgain2.load();
            btnMenu2.load();

        } catch (IOException e) {
            Log.d("cargarRecursosGameOver2", "No se puede cargar el fondo");
        }

    }

    public void liberarRecursosGameOver2() {
        texturaFondoGameOver2.unload();
        regionFondoGameOver2 = null;
        btnAgain2.unload();
        regionBtnAgain2 = null;
    }

    public void cargarRecursosGameOver3() {
        try {

            texturaFondoGameOver3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "GAMEOVER.png");
            regionFondoGameOver3 = TextureRegionFactory.extractFromTexture(texturaFondoGameOver3);
            texturaFondoGameOver3.load();
            btnAgain3 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager()
                    , 600, 130);
            regionBtnAgain3 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnAgain3, actividadJuego.getAssets(), "jugar de nuevo.png", 2, 1);
            try {
                btnAgain3.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosGameOver3", "No se puede cargar la imagen del botón otra vez");
            }

            btnMenu3 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager()
                    , 600, 130);
            regionBtnMenu3 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnMenu3, actividadJuego.getAssets(), "menu.png", 2, 1);
            try {
                btnMenu3.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosGameOver3", "No se puede cargar los botones.");
            }


            btnAgain3.load();
            btnMenu3.load();

        } catch (IOException e) {
            Log.d("cargarRecursosGameOver3", "No se puede cargar el fondo");
        }

    }

    public void liberarRecursosGameOver3() {
        texturaFondoGameOver3.unload();
        regionFondoGameOver3 = null;
        btnAgain3.unload();
        regionBtnAgain3 = null;
    }

    //*** Recursos de la pantalla de Menú
    public void cargarRecursosMenu() {
        try {
            // Carga la imagen de fondo de la pantalla del Menú
            texturaFondoMenu = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "PANTALLA_PRINCIPAL.png");
            regionFondoMenu = TextureRegionFactory.extractFromTexture(texturaFondoMenu);
            texturaFondoMenu.load();

            logo= new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "dienosaurs.png");
            logoreg = TextureRegionFactory.extractFromTexture(logo);

            texturaHumo = new BitmapTextureAtlas(actividadJuego.getTextureManager(),
                    64, 64, TextureOptions.BILINEAR);
            regionHumo = BitmapTextureAtlasTextureRegionFactory.createFromAsset(texturaHumo,
                    actividadJuego, "humo.png", 0, 0);

            //engine.getEngineOptions().getAudioOptions().setNeedsMusic(true);

            // Carga la imagen para el botón jugar
            btaBtnJugar = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    600, 127);
            regionBtnJugar = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btaBtnJugar, actividadJuego.getAssets(),
                    "jugar.png", 2, 1);
            try {
                btaBtnJugar.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosMenu", "No se puede cargar la imagen del botón jugar");
            }
            btnInstru = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    300, 164);
            regionInstru = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnInstru, actividadJuego.getAssets(),
                    "instrucciones.png", 2, 1);
            try {
                btnInstru.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosMenu", "No se puede cargar la imagen del botón jugar");
            }

            btaBtnAc = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    274, 150);
            regionBtnAc = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btaBtnAc, actividadJuego.getAssets(),
                    "btnajustes.png", 2,1);
            try {
                btaBtnAc.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosMenu", "No se puede cargar la imagen del botón jugar");
            }

            kikkitext = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 600, 158);
            kikkireg = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(kikkitext, actividadJuego.getAssets(), "kikkiprin.png", 4, 1);

            try {
                kikkitext.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                kikkitext.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el sprite");

            }

            rexitext = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 600, 197);
            rexireg = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(rexitext, actividadJuego.getAssets(), "rexiprin.png", 4, 1);

            try {
                rexitext.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                rexitext.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el sprite");

            }

            dipitext = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 600, 208);
            dipireg = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dipitext, actividadJuego.getAssets(), "dipiprin.png", 4, 1);

            try {
                dipitext.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dipitext.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el sprite");

            }

            tricitext = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 600, 146);
            tricireg = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(tricitext, actividadJuego.getAssets(), "triciprin.png", 4, 1);

            try {
                tricitext.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                tricitext.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el sprite");

            }

            rexitext.load();
            kikkitext.load();
            dipitext.load();
            tricitext.load();
            btaBtnAc.load();
            btaBtnJugar.load();
            btnInstru.load();
            texturaHumo.load();
            logo.load();


        } catch (IOException e) {
            Log.d("cargarRecursosMenu", "No se puede cargar el fondo");
        }
    }

    public void liberarRecursosMenu() {
        // Fondo
        texturaFondoMenu.unload();
        regionFondoMenu = null;
        // botón jugar
        btaBtnAc.unload();
        regionBtnAc = null;
        btaBtnJugar.unload();
        regionBtnJugar = null;
        kikkitext.unload();
        kikkireg=null;
        rexitext.unload();
        rexireg=null;
        dipitext.unload();
        dipireg=null;
        tricitext.unload();
        tricireg=null;
        texturaHumo.unload();
        regionHumo=null;
    }

    //*** Recursos de la pantalla de Aerca De
    public void cargarRecursosAcercaDe() {
        try {
            // Carga la imagen de fondo de la pantalla Splash
            texturaFondoAcercaDe = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "7.jpg");
            regionFondoAcercaDe = TextureRegionFactory.extractFromTexture(texturaFondoAcercaDe);
            texturaFondoAcercaDe.load();
        } catch (IOException e) {
            Log.d("cargarRecursosAcercaDe", "No se puede cargar el fondo");
        }
    }

    public void liberarRecursosAcercaDe() {
        texturaFondoAcercaDe.unload();
        regionFondoAcercaDe = null;
    }

    public void cargarRecursosInstrucciones() {
        try {
            // Carga la imagen de fondo de la pantalla Splash
            texturaFondoInst = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "2.jpg");
            regionFondoInst = TextureRegionFactory.extractFromTexture(texturaFondoInst);
            btnSgnt = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    198, 75);
            regionBtnSgnt = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnSgnt, actividadJuego.getAssets(),
                    "siguiente.png", 2, 1);
            try {
                btnSgnt.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursos", "No se puede cargar los botones");
            }

            texturaFondoInst.load();
            btnSgnt.load();
        } catch (IOException e) {
            Log.d("cargarRecursos", "No se puede cargar el fondo");
        }
    }

    public void liberarRecursosInstrucciones(){
        texturaFondoInst.unload();
        regionFondoInst=null;
    }

    public void cargarRecursosInstrucciones2() {
        try {
            // Carga la imagen de fondo de la pantalla Splash
            texturaFondoInst2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "5.jpg");
            regionFondoInst2 = TextureRegionFactory.extractFromTexture(texturaFondoInst2);
            texturaFondoInst2.load();

            btnSgnt2 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    198, 75);
            regionBtnSgnt2 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnSgnt2, actividadJuego.getAssets(),
                    "siguiente.png", 2, 1);
            try {
                btnSgnt2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                btnSgnt2.load();

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursos", "No se puede cargar los botones");
            }
        } catch (IOException e) {
            Log.d("cargarRecursos", "No se puede cargar el fondo");
        }
    }


    public void liberarRecursosInstrucciones2(){
        texturaFondoInst2.unload();
        regionFondoInst2=null;
    }

    public void cargarRecursosInstrucciones3() {
        try {
            // Carga la imagen de fondo de la pantalla Splash
            texturaFondoInst3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "10.jpg");
            regionFondoInst3 = TextureRegionFactory.extractFromTexture(texturaFondoInst3);
            texturaFondoInst3.load();

            btnMenu2 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    600, 130);
            regionBtnMenu2 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnMenu2, actividadJuego.getAssets(),
                    "menu2.png", 2, 1);
            try {
                btnMenu2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                btnMenu2.load();

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursos", "No se puede cargar los botones");
            }

        } catch (IOException e) {
            Log.d("cargarRecursos", "No se puede cargar el fondo");
    }
    }

    public void liberarRecursosInstrucciones3(){
        texturaFondoInst.unload();
        regionFondoInst=null;
    }

    public void cargarRecursosNiveles() {
        try {
            // Carga la imagen de fondo de la pantalla Splash
            texturaFondoNiveles = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "NIVELES.png");
            regionFondoNiveles = TextureRegionFactory.extractFromTexture(texturaFondoNiveles);

            btnlvl1= new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    400, 152);
            btnlvl1reg = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnlvl1, actividadJuego.getAssets(),
                    "lvl1.png", 2, 1);
            try {
                btnlvl1.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosNiveles", "No se puede cargar la imagen del botón lvl1");
            }

            btnlvl2= new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    300, 169);
            btnlvl2reg = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnlvl2, actividadJuego.getAssets(),
                    "lvl2.png", 2, 1);
            try {
                btnlvl2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosNiveles", "No se puede cargar la imagen del botón lvl2");
            }

            btnlvl3= new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    400, 232);
            btnlvl3reg = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnlvl3, actividadJuego.getAssets(),
                    "lvl3.png", 2, 1);
            try {
                btnlvl3.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosNiveles", "No se puede cargar la imagen del botón lvl3");
            }

            texturaFondoNiveles.load();
            btnlvl1.load();
            btnlvl2.load();
            btnlvl3.load();
        } catch (IOException e) {
            Log.d("cargarRecursosNiveles", "No se puede cargar el fondo");
        }
    }

    public void liberarRecursosNiveles(){
        texturaFondoNiveles.unload();
        regionFondoNiveles=null;
        btnlvl1.unload();
        btnlvl1reg=null;
        btnlvl2.unload();
        btnlvl2reg=null;
        btnlvl3.unload();
        btnlvl3reg=null;
    }



    public void cargarRecursosAjustes(){
        try {
            // Carga la imagen de fondo de la pantalla Splash
            texturaFondoAjustes = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "ajustes.jpg");
            regionFondoAjustes = TextureRegionFactory.extractFromTexture(texturaFondoAjustes);
            texturaFondoAjustes.load();
            btnCred = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    600, 127);
            regionBtncred = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnCred, actividadJuego.getAssets(),
                    "btncreditos.png", 2, 1);
            btnMus = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(),
                    118, 59);
            btnmusreg = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnMus, actividadJuego.getAssets(),
                    "musica.png", 2, 1);

            try {
                btnCred.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosAjustes", "No se puede cargar los botones");
            }

            try {
                fuentext=new BitmapTextureAtlas(actividadJuego.getTextureManager(),256,256, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
                fuente= FontFactory.createFromAsset(actividadJuego.getFontManager(),fuentext, actividadJuego.getAssets(), "KADINSOB.TTF", 40f,true, Color.BLACK);

                btnMus.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));

            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosAjustes", "No se puede cargar los botones");
            }
            fuente.load();
            btnCred.load();
            btnMus.load();

        } catch (IOException e) {
            Log.d("cargarRecursosAjustes", "No se puede cargar el fondo");
        }
    }


    public void liberarRecursosAjustes(){
        texturaFondoAjustes.unload();
        regionFondoAjustes=null;
    }

    public void cargarRecursosPuntaje() {
        try {

            texturaFondoPuntaje = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "SCORE.png");
            regionFondoPuntaje = TextureRegionFactory.extractFromTexture(texturaFondoPuntaje);
            texturaFondoPuntaje.load();
            fuentext=new BitmapTextureAtlas(actividadJuego.getTextureManager(),256,256, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
            fuente= FontFactory.createFromAsset(actividadJuego.getFontManager(),fuentext, actividadJuego.getAssets(), "KADINSOB.TTF", 60f,true, Color.BLACK);
            fuente.load();

        } catch (IOException e) {
            Log.d("cargarRecursosPuntaje", "No se puede cargar el fondo");
        }
    }

    public void liberarRecursosPuntaje() {
        texturaFondoPuntaje.unload();
        regionFondoPuntaje = null;
    }

    public void cargarRecursosJuego() {
        try {

            texturaFondoJuego = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "fondo_fuego.png");
            regionFondoJuego = TextureRegionFactory.extractFromTexture(texturaFondoJuego);
            pausa = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "pausa.jpg");
            pausareg= TextureRegionFactory.extractFromTexture(pausa);

            fuentext=new BitmapTextureAtlas(actividadJuego.getTextureManager(),256,256, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
            fuente= FontFactory.createFromAsset(actividadJuego.getFontManager(),fuentext, actividadJuego.getAssets(), "KADINSOB.TTF", 40f,true, Color.BLACK);

            cajitex = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "caja.png");
            cajitareg = TextureRegionFactory.extractFromTexture(cajitex);
            picotext = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "picos.png");
            picoreg = TextureRegionFactory.extractFromTexture(picotext);
            tablatex = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "puente1.png");
            tablareg = TextureRegionFactory.extractFromTexture(tablatex);
            tablamotex = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "barra1.png");
            tablamoreg = TextureRegionFactory.extractFromTexture(tablamotex);
            metex = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "meta.png");
            metareg = TextureRegionFactory.extractFromTexture(metex);
            muertex = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "lava.png");
            puente1 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "puente1.png");
            puente1reg = TextureRegionFactory.extractFromTexture(puente1);
            muertereg = TextureRegionFactory.extractFromTexture(muertex);
            quemaotex = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "image-flame.png");
            quemaoreg = TextureRegionFactory.extractFromTexture(quemaotex);
            tablontex = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "rectangulote.png");
            tablonreg = TextureRegionFactory.extractFromTexture(tablontex);
            paredsitex = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "barra2.png");
            sangretex = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "bloodspikesh.png");
            sangreg = TextureRegionFactory.extractFromTexture(sangretex);
            paredsitareg = TextureRegionFactory.extractFromTexture(paredsitex);
            botoncitotex = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 100, 50);
            regionBotoncito = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(botoncitotex, actividadJuego.getAssets(), "boton de boton.png", 2, 1);
            btnArriba = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 100, 66);
            regionBtnArriba = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnArriba, actividadJuego.getAssets(), "up.png", 2, 1);
            btnAbajo = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 100,66);
            regionBtnAbajo = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnAbajo, actividadJuego.getAssets(), "down.png", 2, 1);
            btnPuente = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 162,21);
            regionBotonPuente = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnPuente, actividadJuego.getAssets(), "botonex.png", 2, 1);
            btnRampa = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 200,56);
            regionBtnRampa = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnRampa, actividadJuego.getAssets(), "botonrampa.png", 2, 1);
            rampa = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "rampa.png");
            rampareg = TextureRegionFactory.extractFromTexture(rampa);
            barrita1 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "barrita.png");
            barritareg1 = TextureRegionFactory.extractFromTexture(barrita1);
            texturaCeniza = new BitmapTextureAtlas(actividadJuego.getTextureManager(),
                    64, 64, TextureOptions.BILINEAR);
            regionCeniza = BitmapTextureAtlasTextureRegionFactory.createFromAsset(texturaCeniza,
                    actividadJuego, "humo.png", 0, 0);

            try {
                botoncitotex.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el botoncito");
            }
            try {
                btnRampa.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el botoncito");
            }
            try {
                btnPuente.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el botoncito");
            }
            try {
                btnAbajo.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el botoncito");
            }
            try {
                btnArriba.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el botoncito");
            }

            dino1textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 58);
            dino1regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino1textder, actividadJuego.getAssets(), "walkiki.png", 4, 1);

            try {
                dino1textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino1textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el sprite");

            }
            dino2textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 51);
            dino2regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino2textder, actividadJuego.getAssets(), "trici_walk.png", 4, 1);

            try {
                dino2textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino2textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el sprite");

            }

            dino3textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 82);
            dino3regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino3textder, actividadJuego.getAssets(), "rexi_walk.png", 4, 1);

            try {
                dino3textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino3textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el sprite");

            }

            dino4textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 58);
            dino4regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino4textder, actividadJuego.getAssets(), "Dipi_walk.png", 4, 1);

            try {
                dino4textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino4textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego", "No se puede cargar el sprite");

            }


            muertex.load();
            paredsitex.load();
            tablatex.load();
            tablontex.load();
            tablamotex.load();
            quemaotex.load();
            metex.load();
            cajitex.load();
            picotext.load();
            botoncitotex.load();
            rampa.load();
            btnRampa.load();
            btnAbajo.load();
            btnPuente.load();
            btnArriba.load();
            sangretex.load();
            texturaFondoJuego.load();
            puente1.load();
            barrita1.load();
            texturaCeniza.load();
            pausa.load();
            fuente.load();

        } catch (IOException e) {
            Log.d("cargarRecursosJuego", "No se puede cargar el fondo");
        }


    }

    public void liberarRecursosJuego() {
        texturaFondoJuego.unload();
        dino1textder.unload();
        dino1regder = null;
        tablatex.unload();
        tablareg = null;
        regionFondoJuego = null;

    }

    public void cargarRecursosJuego2() {
        try {

            texturaFondoJuego2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "fondo_hielo.png");
            regionFondoJuego2 = TextureRegionFactory.extractFromTexture(texturaFondoJuego2);
            texturaFondoJuego2.load();
            pausa = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "pausa.jpg");
            pausareg= TextureRegionFactory.extractFromTexture(pausa);
            dino12textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 58);
            dino12regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino12textder, actividadJuego.getAssets(), "walkiki2.png", 4, 1);

            fuentext=new BitmapTextureAtlas(actividadJuego.getTextureManager(),256,256, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
            fuente= FontFactory.createFromAsset(actividadJuego.getFontManager(),fuentext, actividadJuego.getAssets(), "KADINSOB.TTF", 40f,true, Color.BLACK);

            texturaNieve = new BitmapTextureAtlas(actividadJuego.getTextureManager(),
                    64, 64, TextureOptions.BILINEAR);
            regionNieve= BitmapTextureAtlasTextureRegionFactory.createFromAsset(texturaNieve,
                    actividadJuego, "nieve.png", 0, 0);

            try {
                dino12textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino12textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego2", "No se puede cargar el sprite");

            }

            dino22textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 51);
            dino22regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino22textder, actividadJuego.getAssets(), "trici_walk2.png", 4, 1);

            try {
                dino22textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino22textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego2", "No se puede cargar el sprite");

            }

            dino32textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 82);
            dino32regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino32textder, actividadJuego.getAssets(), "rexi_walk2.png", 4, 1);

            try {
                dino32textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino32textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego2", "No se puede cargar el sprite");

            }

            dino42textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 98);
            dino42regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino42textder, actividadJuego.getAssets(), "Dipi_walk2.png", 4, 1);

            try {
                dino42textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino42textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego2", "No se puede cargar el sprite");

            }

            btnArriba2 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 100, 66);
            regionBtnArriba2 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnArriba2, actividadJuego.getAssets(), "up.png", 2, 1);
            btnAbajo2 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 100,66);
            regionBtnAbajo2 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnAbajo2, actividadJuego.getAssets(), "down.png", 2, 1);
            botoncitotex2 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 100, 50);
            regionBotoncito2 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(botoncitotex2, actividadJuego.getAssets(), "boton de boton.png", 2, 1);
            btnPuente2 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 162,21);
            regionBotonPuente2 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnPuente2, actividadJuego.getAssets(), "botonex.png", 2, 1);
            btnRampa2 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 200,56);
            regionBtnRampa2 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnRampa2, actividadJuego.getAssets(), "botonrampa.png", 2, 1);
            btnPared = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 26,66);
            regionBtnPared = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnPared, actividadJuego.getAssets(), "btnpared.png", 2, 1);
            rampa2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "rampa2.png");
            rampareg2= TextureRegionFactory.extractFromTexture(rampa2);
            pared = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "pared.png");
            paredReg= TextureRegionFactory.extractFromTexture(pared);
            puente2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "tabla100.png");
            puenteReg2= TextureRegionFactory.extractFromTexture(puente2);
            tabla2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "tabla200.png");
            tablareg2= TextureRegionFactory.extractFromTexture(tabla2);
            tablota2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "tabla600.png");
            tablotareg2= TextureRegionFactory.extractFromTexture(tablota2);
            cajitex2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "caja2.png");
            cajitareg2= TextureRegionFactory.extractFromTexture(cajitex2);
            picosh2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "picos.png");
            picoshreg2= TextureRegionFactory.extractFromTexture(picosh2);
            picosv2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "picos2.png");
            picosvreg2= TextureRegionFactory.extractFromTexture(picosv2);
            metex2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "meta2.png");
            metareg2= TextureRegionFactory.extractFromTexture(metex2);
            muerte2= new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "muertefria.png");
            muerteReg2= TextureRegionFactory.extractFromTexture(muerte2);
            congelaotex= new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "congelao.png");
            congelaoreg= TextureRegionFactory.extractFromTexture(congelaotex);
            picoshSangreTex2= new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "bloodspikesh.png");
            picoshSangreReg2= TextureRegionFactory.extractFromTexture(picoshSangreTex2);
            picosvSangreTex2= new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "bloodspikesv.png");
            picosvSangreReg2= TextureRegionFactory.extractFromTexture(picosvSangreTex2);
            barrita2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "barrita.png");
            barritareg2 = TextureRegionFactory.extractFromTexture(barrita2);


            try {
                btnAbajo2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego2", "No se puede cargar el botoncito");
            }
            try {
                btnArriba2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego2", "No se puede cargar el botoncito");
            }
            try {
                botoncitotex2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego2", "No se puede cargar el botoncito");
            }
            try {
                btnRampa2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego2", "No se puede cargar el botoncito");
            }
            try {
                btnPuente2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego2", "No se puede cargar el botoncito");
            }

            try {
                btnPared.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego2", "No se puede cargar el botoncito");
            }

            btnArriba2.load();
            btnAbajo2.load();
            botoncitotex2.load();
            btnPuente2.load();
            btnRampa2.load();
            btnPared.load();
            rampa2.load();
            pared.load();
            puente2.load();
            tabla2.load();
            tablota2.load();
            cajitex2.load();
            picosh2.load();
            picosv2.load();
            metex2.load();
            muerte2.load();
            congelaotex.load();
            picoshSangreTex2.load();
            picosvSangreTex2.load();
            barrita2.load();
            texturaNieve.load();
            pausa.load();
            fuente.load();


        } catch (IOException e) {
            Log.d("cargarRecursosJuego2", "No se puede cargar el fondo");
        }
    }

    public void liberarRecursosJuego2() {
        texturaFondoJuego2.unload();
        regionFondoJuego2 = null;
        dino12textder.unload();
        dino12regder=null;
        dino22textder.unload();
        dino22regder=null;
        dino32textder.unload();
        dino32regder=null;
        dino42textder.unload();
        dino42regder=null;
    }

    public void cargarRecursosJuego3() {
        try {
            // Carga la imagen de fondo de la pantalla Splash
            texturaFondoJuego3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "fondo_infierno.png");
            regionFondoJuego3 = TextureRegionFactory.extractFromTexture(texturaFondoJuego3);
            texturaFondoJuego3.load();

            dino13textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 58);
            dino13regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino13textder, actividadJuego.getAssets(), "walkiki2.png", 4, 1);

            texturaCinder = new BitmapTextureAtlas(actividadJuego.getTextureManager(),
                    64, 64, TextureOptions.BILINEAR);
            regionCinder = BitmapTextureAtlasTextureRegionFactory.createFromAsset(texturaCinder,
                    actividadJuego, "cinder.png", 0, 0);
            pausa = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "pausa.jpg");
            pausareg= TextureRegionFactory.extractFromTexture(pausa);

            fuentext=new BitmapTextureAtlas(actividadJuego.getTextureManager(),256,256, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
            fuente= FontFactory.createFromAsset(actividadJuego.getFontManager(),fuentext, actividadJuego.getAssets(), "KADINSOB.TTF", 40f,true, Color.YELLOW);


            try {
                dino13textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino13textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego3", "No se puede cargar el sprite");

            }

            dino23textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 51);
            dino23regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino23textder, actividadJuego.getAssets(), "trici_walk2.png", 4, 1);

            try {
                dino23textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino23textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego3", "No se puede cargar el sprite");

            }

            dino33textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 82);
            dino33regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino33textder, actividadJuego.getAssets(), "rexi_walk2.png", 4, 1);

            try {
                dino33textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino33textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego3", "No se puede cargar el sprite");

            }

            dino43textder = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 300, 98);
            dino43regder = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(dino43textder, actividadJuego.getAssets(), "Dipi_walk2.png", 4, 1);

            try {
                dino43textder.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
                dino43textder.load();
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego3", "No se puede cargar el sprite");

            }

            botoncitotex3 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 100, 50);
            regionBotoncito3 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(botoncitotex3, actividadJuego.getAssets(), "boton de boton.png", 2, 1);
            btnArriba3 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 100, 66);
            regionBtnArriba3 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnArriba3, actividadJuego.getAssets(), "up.png", 2, 1);
            btnAbajo3 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 100,66);
            regionBtnAbajo3 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnAbajo3, actividadJuego.getAssets(), "down.png", 2, 1);
            btnRampa3 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 200,56);
            regionBtnRampa3 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnRampa3, actividadJuego.getAssets(), "botonrampa.png", 2, 1);
            btnPared2 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 26,66);
            regionBtnPared2 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnPared2, actividadJuego.getAssets(), "btnpared.png", 2, 1);
            btnPuente3 = new BuildableBitmapTextureAtlas(actividadJuego.getTextureManager(), 162,21);
            regionBotonPuente3 = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(btnPuente3, actividadJuego.getAssets(), "botonex.png", 2, 1);
            picosh3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "picos.png");
            picoshreg3= TextureRegionFactory.extractFromTexture(picosh3);
            picosv3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "picos2.png");
            picosvreg3= TextureRegionFactory.extractFromTexture(picosv3);
            picoshSangreTex3= new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "bloodspikesh.png");
            picoshSangreReg3= TextureRegionFactory.extractFromTexture(picoshSangreTex3);
            picosvSangreTex3= new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "bloodspikesv.png");
            picosvSangreReg3= TextureRegionFactory.extractFromTexture(picosvSangreTex3);
            muerte3= new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "muertetocino.png");
            muerteReg3= TextureRegionFactory.extractFromTexture(muerte3);
            quemaotex2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "image-flame.png");
            quemaoreg2 = TextureRegionFactory.extractFromTexture(quemaotex2);
            cajitex3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "caja3.png");
            cajitareg3= TextureRegionFactory.extractFromTexture(cajitex3);
            metex3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "meta3.png");
            metareg3= TextureRegionFactory.extractFromTexture(metex3);
            puente3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "tabla100roja.png");
            puenteReg3= TextureRegionFactory.extractFromTexture(puente3);
            rampa3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "rampa3.png");
            rampareg3= TextureRegionFactory.extractFromTexture(rampa3);
            pared2 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "pared2.png");
            paredReg2= TextureRegionFactory.extractFromTexture(pared2);
            tabla3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "tabla200roja.png");
            tablareg3= TextureRegionFactory.extractFromTexture(tabla3);
            tablota3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "tabla600roja.png");
            tablotareg3= TextureRegionFactory.extractFromTexture(tablota3);
            barrita3 = new AssetBitmapTexture(actividadJuego.getTextureManager(),
                    actividadJuego.getAssets(), "barrita.png");
            barritareg3 = TextureRegionFactory.extractFromTexture(barrita3);

            try {
                btnPared2.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego3", "No se puede cargar el botoncito");
            }

            try {
                btnAbajo3.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego3", "No se puede cargar el botoncito");
            }
            try {
                btnArriba3.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego3", "No se puede cargar el botoncito");
            }
            try {
                botoncitotex3.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego3", "No se puede cargar el botoncito");
            }

            try {
                btnRampa3.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego3", "No se puede cargar el botoncito");
            }

            try {
                btnPuente3.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
            } catch (ITextureAtlasBuilder.TextureAtlasBuilderException e) {
                Log.d("cargarRecursosJuego3", "No se puede cargar el botoncito");
            }

            btnArriba3.load();
            btnAbajo3.load();
            botoncitotex3.load();
            btnRampa3.load();
            btnPuente3.load();
            btnPared2.load();
            picosv3.load();
            picosh3.load();
            picoshSangreTex3.load();
            picosvSangreTex3.load();
            muerte3.load();
            quemaotex2.load();
            cajitex3.load();
            metex3.load();
            rampa3.load();
            puente3.load();
            pared2.load();
            tabla3.load();
            tablota3.load();
            barrita3.load();
            texturaCinder.load();
            pausa.load();
            fuente.load();

        } catch (IOException e) {
            Log.d("cargarRecursosJuego3", "No se puede cargar el fondo");
        }
    }

    public void liberarRecursosJuego3() {
        texturaFondoJuego3.unload();
        regionFondoJuego3 = null;
    }
}
